package Model;

import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;

public class Refrigerator {

	public static String get7DData(String rawData) {
		String result = "";
		rawData = rawData.replaceAll(" +", " ");
		// System.out.println(rawData);
		String arrayData[] = rawData.split(" ");
		// for (int i = 0; i < arrayData.length; i++) {
		// System.out.println(arrayData[i]);
		// }

		int intCount;
		Integer countNum = 1;
		String washOrderCommand = "";
		DecimalFormat fnum = new DecimalFormat("##0.00");

		// 冷藏室显示温度1
		if (12 > arrayData.length - 1) {
			return result;
		}
		String refrigeratorTemperatureC = arrayData[12];
		intCount = Integer.parseInt(refrigeratorTemperatureC, 16);
		// washOrderCommand = Integer.toString((intCount - 38));
		washOrderCommand = (intCount - 38) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 冷冻室显示温度2
		if (13 > arrayData.length - 1) {
			return result;
		}
		String freezerTemperatureC = arrayData[13];
		intCount = Integer.parseInt(freezerTemperatureC, 16);
		// washOrderCommand = Integer.toString((intCount - 38));
		washOrderCommand = (intCount - 38) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 变温室显示温度3
		if (14 > arrayData.length - 1) {
			return result;
		}
		String vtRoomTemperature = arrayData[14];
		intCount = Integer.parseInt(vtRoomTemperature, 16);
		// washOrderCommand = Integer.toString((intCount - 38));
		washOrderCommand = (intCount - 38) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 变温室2显示温度4
		if (15 > arrayData.length - 1) {
			return result;
		}
		String vtRoomTemperature2 = arrayData[15];
		intCount = Integer.parseInt(vtRoomTemperature2, 16);
		// washOrderCommand = Integer.toString((intCount - 38));
		washOrderCommand = (intCount - 38) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 环境温度5
		if (16 > arrayData.length - 1) {
			return result;
		}
		String envTemperature = arrayData[16];
		intCount = Integer.parseInt(envTemperature, 16);
		// washOrderCommand = Integer.toString((intCount - 38));
		washOrderCommand = (intCount - 38) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 环境湿度6
		if (17 > arrayData.length - 1) {
			return result;
		}
		String envHumidity = arrayData[17];
		intCount = Integer.parseInt(envHumidity, 16);
		// washOrderCommand = Integer.toString(intCount);
		washOrderCommand = intCount + "%";
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 冷藏室设置档位7
		if (18 > arrayData.length - 1) {
			return result;
		}
		String refrigeratorTargetTempLevel = arrayData[18];
		intCount = Integer.parseInt(refrigeratorTargetTempLevel, 16);
		if (refrigeratorTargetTempLevel == "00") {
			washOrderCommand = "OFF";
		} else {
			// washOrderCommand = Integer.toString((intCount - 1));
			washOrderCommand = (intCount - 1) + "℃";// + "或" + (intCount + 30) + "℉"
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 冷冻室设置档位8
		if (19 > arrayData.length - 1) {
			return result;
		}
		String freezerTargetTempLevel = arrayData[19];
		intCount = Integer.parseInt(freezerTargetTempLevel, 16);
		// washOrderCommand = Integer.toString((intCount - 30));// + "℃" + "或" +
		// (intCount - 12) + "℉";
		washOrderCommand = (intCount - 30) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 变温室设置温度档位9
		if (20 > arrayData.length - 1) {
			return result;
		}
		String vtRoomTargetLevel = arrayData[20];
		if (vtRoomTargetLevel == "00") {
			washOrderCommand = "OFF";
		} else {
			intCount = Integer.parseInt(vtRoomTargetLevel, 16);
			washOrderCommand = (intCount - 31) + "℃";// + "/" + (intCount + 16) + "℉";
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 变温室2设置温度档位10
		if (21 > arrayData.length - 1) {
			return result;
		}
		String vtRoom2TargetLevel = arrayData[21];
		if (vtRoom2TargetLevel == "00") {
			washOrderCommand = "OFF";
		} else {
			intCount = Integer.parseInt(vtRoom2TargetLevel, 16);
			washOrderCommand = (intCount - 31) + "℃";// + "/" + (intCount + 16) + "℉";
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 进水时间档位11
		if (22 > arrayData.length - 1) {
			return result;
		}
		String waterTime = arrayData[22];
		intCount = Integer.parseInt(waterTime, 16);
		// washOrderCommand = Integer.toString((intCount - 30));// + "℃" + "或" +
		// (intCount - 12) + "℉";
		float floatValue = (float) intCount / 2;
		String floatValueStr = fnum.format(floatValue) + "s";
		washOrderCommand = floatValueStr;
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 自动调湿档位设置12
		if (23 > arrayData.length - 1) {
			return result;
		}
		String humidtyLevel = arrayData[23];
		switch (humidtyLevel) {
		case "00":
			washOrderCommand = "关闭";
			break;
		case "01":
			washOrderCommand = "低湿";
			break;
		case "02":
			washOrderCommand = "中湿";
			break;
		case "03":
			washOrderCommand = "高湿";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 强制删除，制冰机工作模式，制冰机开关状态，节能功能状态，变温室开关状态，冷藏室开关状态
		if (24 > arrayData.length - 1) {
			return result;
		}
		String rveiif = arrayData[24];
		String rveiifbinaryString = Integer.toBinaryString(Integer.parseInt(rveiif, 16));
		while (rveiifbinaryString.length() < 8) {
			rveiifbinaryString = "0" + rveiifbinaryString;
		}
		// 强制删除13
		char forceDelete = rveiifbinaryString.charAt(7 - 7);
		switch (forceDelete) {
		case '0':
			washOrderCommand = "无";
			break;
		case '1':
			washOrderCommand = "有";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 制冰机工作模式14
		String iceMakingMode = rveiifbinaryString.substring(7 - 6, 7 - 3);
		switch (iceMakingMode) {
		case "001":
			washOrderCommand = "冰水";
			break;
		case "002":
			washOrderCommand = "碎冰";
			break;
		case "004":
			washOrderCommand = "整冰";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 制冰机开关状态15
		char icemakerOnOffStatus = rveiifbinaryString.charAt(7 - 3);
		switch (icemakerOnOffStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 节能功能状态16
		char energySavingStatus = rveiifbinaryString.charAt(7 - 2);
		switch (energySavingStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 变温室开关状态17
		char vtRoomOnOffStatus = rveiifbinaryString.charAt(7 - 1);
		switch (vtRoomOnOffStatus) {
		case '0':
			washOrderCommand = "开";
			break;
		case '1':
			washOrderCommand = "关";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 冷藏室开关状态18
		char refrigeratorOnOffStatus = rveiifbinaryString.charAt(7 - 0);
		switch (refrigeratorOnOffStatus) {
		case '0':
			washOrderCommand = "开";
			break;
		case '1':
			washOrderCommand = "关";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		if (25 > arrayData.length - 1) {
			return result;
		}
		String lihqqpo = arrayData[25];
		String lihqqpobinaryString = Integer.toBinaryString(Integer.parseInt(lihqqpo, 16));
		while (lihqqpobinaryString.length() < 8) {
			lihqqpobinaryString = "0" + lihqqpobinaryString;
		}
		// 开关机状态19
		char onOffStatus = lihqqpobinaryString.charAt(7 - 6);
		switch (onOffStatus) {
		case '0':
			washOrderCommand = "开机";
			break;
		case '1':
			washOrderCommand = "关机";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 保鲜灯20
		char preservationLightStatus = lihqqpobinaryString.charAt(7 - 5);
		switch (preservationLightStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 速冷功能状态21
		char quickRefrigeratingMode = lihqqpobinaryString.charAt(7 - 4);
		switch (quickRefrigeratingMode) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 速冻功能状态22
		char quickFreezingMode = lihqqpobinaryString.charAt(7 - 3);
		switch (quickFreezingMode) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 假日模式23
		char holidayMode = lihqqpobinaryString.charAt(7 - 2);
		switch (holidayMode) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 人工智慧24
		char intelligenceMode = lihqqpobinaryString.charAt(7 - 1);
		switch (intelligenceMode) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 锁定状态25
		char lockStatus = lihqqpobinaryString.charAt(7 - 0);
		switch (lockStatus) {
		case '0':
			washOrderCommand = "加锁";
			break;
		case '1':
			washOrderCommand = "解锁";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 商场演示功能状态，大冷藏功能状态，华氏度显示功能状态，ABT杀菌功能状态，急冻室开关状态，健康卫士开关状态，速便问功能状态，人感状态
		if (26 > arrayData.length - 1) {
			return result;
		}
		String swfasavh = arrayData[26];
		String swfasavhbinaryString = Integer.toBinaryString(Integer.parseInt(swfasavh, 16));
		while (swfasavhbinaryString.length() < 8) {
			swfasavhbinaryString = "0" + swfasavhbinaryString;
		}
		// 人感状态26
		char humanSensingResult = swfasavhbinaryString.charAt(7 - 7);
		switch (humanSensingResult) {
		case '0':
			washOrderCommand = "人感未检测到人";
			break;
		case '1':
			washOrderCommand = "人感检测到人";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 速变温功能状态27
		char vtRoomSpeedMode = swfasavhbinaryString.charAt(7 - 6);
		switch (vtRoomSpeedMode) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 健康卫士开关状态28
		char airCleanerStatus = swfasavhbinaryString.charAt(7 - 5);
		switch (airCleanerStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 急冻室开关状态29
		char speedFreezerStatus = swfasavhbinaryString.charAt(7 - 4);
		switch (speedFreezerStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// ABT杀菌功能状态30
		char abtSterilizationStatus = swfasavhbinaryString.charAt(7 - 3);
		switch (abtSterilizationStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 华氏度显示功能状态31
		char fahrenheitDisplayStatus = swfasavhbinaryString.charAt(7 - 2);
		switch (fahrenheitDisplayStatus) {
		case '0':
			washOrderCommand = "关（显示摄氏度）";
			break;
		case '1':
			washOrderCommand = "开（显示华氏度）";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 大冷藏功能状态32
		char wholeRefrigetatingStatus = swfasavhbinaryString.charAt(7 - 1);
		switch (wholeRefrigetatingStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 商场演示功能状态33
		char showStatus = swfasavhbinaryString.charAt(7 - 0);
		switch (showStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 冷藏室门开关状态，变温室门开关状态，快速制冰功能状态，杀菌功能状态，强效净化功能状态，人感功能开关状态
		if (27 > arrayData.length - 1) {
			return result;
		}
		String rfvqssh = arrayData[27];
		String rfvqsshbinaryString = Integer.toBinaryString(Integer.parseInt(rfvqssh, 16));
		while (rfvqsshbinaryString.length() < 8) {
			rfvqsshbinaryString = "0" + rfvqsshbinaryString;
		}

		// 人感功能开关状态34
		char humanSensingStatus = rfvqsshbinaryString.charAt(7 - 6);
		switch (humanSensingStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 强效净化功能状态35
		char strongCleaningStatus = rfvqsshbinaryString.charAt(7 - 5);
		switch (strongCleaningStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 杀菌功能状态36
		char sterilizationStatus = rfvqsshbinaryString.charAt(7 - 4);
		switch (sterilizationStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 快速制冰功能状态37
		char quickIceMakingStatus = rfvqsshbinaryString.charAt(7 - 3);
		switch (quickIceMakingStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 变温室门开关状态38
		char vtRoomDoorStatus = rfvqsshbinaryString.charAt(7 - 2);
		switch (vtRoomDoorStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 冷冻室门开关状态39
		char freezerDoorStatus = rfvqsshbinaryString.charAt(7-1);
		switch (freezerDoorStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 冷藏室门开关状态40
		char refrigeratorDoorStatus = rfvqsshbinaryString.charAt(7-0);
		switch (refrigeratorDoorStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 珍品功能状态，摄像头功能状态，安防功能状态，酸奶机开关状态，安息日功能状态，速变温2功能状态，冷冻杀菌功能状态
		if (28 > arrayData.length - 1) {
			return result;
		}
		String rcsysvf = arrayData[28];
		String rcsysvfbinaryString = Integer.toBinaryString(Integer.parseInt(rcsysvf, 16));
		while (rcsysvfbinaryString.length() < 8) {
			rcsysvfbinaryString = "0" + rcsysvfbinaryString;
		}

		// 冷冻杀菌功能状态41
		char frzSterilizationStatus = rcsysvfbinaryString.charAt(7 - 6);
		switch (frzSterilizationStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 速变温2功能状态42
		char vtRoom2SpeedMode = rcsysvfbinaryString.charAt(7 - 5);
		switch (vtRoom2SpeedMode) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 安息日功能状态43
		char sabbathStatus = rcsysvfbinaryString.charAt(7 - 4);
		switch (sabbathStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 酸奶机开关状态44
		char yogurtMakerStatus = rcsysvfbinaryString.charAt(7 - 3);
		switch (yogurtMakerStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 安防功能状态45
		char securityStatus = rcsysvfbinaryString.charAt(7 - 2);
		switch (securityStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 摄像头功能状态46
		char cameraStatus = rcsysvfbinaryString.charAt(7 - 1);
		switch (cameraStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 珍品功能状态47
		char rareFoodKeepingStatus = rcsysvfbinaryString.charAt(7 - 0);
		switch (rareFoodKeepingStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		
		if (29 > arrayData.length - 1) {
			return result;
		}
		String prfvibvc = arrayData[29];
		String prfvibvcbinaryString = Integer.toBinaryString(Integer.parseInt(prfvibvc, 16));
		while (prfvibvcbinaryString.length() < 8) {
			prfvibvcbinaryString = "0" + prfvibvcbinaryString;
		}
		// 净化功能状态48
		char cleaningStatus = prfvibvcbinaryString.charAt(7 - 7);
		switch (cleaningStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 变温室2开关状态49
		char vtRoom2OnOffStatus = prfvibvcbinaryString.charAt(7 - 6);
		switch (vtRoom2OnOffStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 吧台门开关状态50
		char barDoorStatus = prfvibvcbinaryString.charAt(7 - 5);
		switch (barDoorStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 制冰门开关状态51
		char icemakerDoorStatus = prfvibvcbinaryString.charAt(7 - 4);
		switch (icemakerDoorStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 变温室2门开关状态52
		char vtRoom2DoorStatus = prfvibvcbinaryString.charAt(7 - 3);
		switch (vtRoom2DoorStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 冷冻室门2开关状态53
		char freezer2DoorStatus = prfvibvcbinaryString.charAt(7 - 2);
		switch (freezer2DoorStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 冷藏室门2开关状态54
		char refrigerator2DoorStatus = prfvibvcbinaryString.charAt(7 - 1);
		switch (refrigerator2DoorStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 除农药功能状态55
		char pesticideRemovalStatus = prfvibvcbinaryString.charAt(7 - 0);
		switch (pesticideRemovalStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		
		if (30 > arrayData.length - 1) {
			return result;
		}
		String dddv = arrayData[30];
		String dddvbinaryString = Integer.toBinaryString(Integer.parseInt(dddv, 16));
		while (dddvbinaryString.length() < 8) {
			dddvbinaryString = "0" + dddvbinaryString;
		}
		// 大量存储功能状态56
		char vastStoreStatus = dddvbinaryString.charAt(7 - 3);
		switch (vastStoreStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 日常功能状态57
		char dailyStatus = dddvbinaryString.charAt(7 - 2);
		switch (dailyStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 门闪缝报警功能状态58
		char doorAlarmStatus = dddvbinaryString.charAt(7 - 1);
		switch (doorAlarmStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 显示板功能开关状态59
		char displayPanelStatus = dddvbinaryString.charAt(7 - 0);
		switch (displayPanelStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		if (31 > arrayData.length - 1) {
			return result;
		}
		String wdhk = arrayData[31];
		String wdhkbinaryString = Integer.toBinaryString(Integer.parseInt(wdhk, 16));
		while (wdhkbinaryString.length() < 8) {
			wdhkbinaryString = "0" + wdhkbinaryString;
		}
		// 内部水壶注水功能状态60
		char kettleWaterStatus = wdhkbinaryString.charAt(7 - 7);
		switch (kettleWaterStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 把手灯开关状态61
		char handLeLightStatus = wdhkbinaryString.charAt(7 - 6);
		switch (handLeLightStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 除湿功能状态62
		char dehumidificationStatus = wdhkbinaryString.charAt(7 - 5);
		switch (dehumidificationStatus) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 水过滤器状态63
		char waterFilterStatus = wdhkbinaryString.charAt(7 - 0);
		switch (waterFilterStatus) {
		case '0':
			washOrderCommand = "正常";
			break;
		case '1':
			washOrderCommand = "需要更换";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 温度控制过滤器使用时间64
		if (32 > arrayData.length - 1) {
			return result;
		}
		String humidFilterUsedTime = arrayData[32] + arrayData[33];
		intCount = Integer.parseInt(humidFilterUsedTime, 16);
		washOrderCommand = intCount + "h";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 酸奶制作量65
		if (34 > arrayData.length - 1) {
			return result;
		}
		String yogurtVolume = arrayData[34];
		intCount = Integer.parseInt(yogurtVolume, 16);
		float temp = ((float) (intCount + 2)) / 10;
		String tempStr = fnum.format(temp) + "L";
		washOrderCommand = tempStr;
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 酸奶制作结束剩余时间66
		if (35 > arrayData.length - 1) {
			return result;
		}
		String yogurtRemainingTime = arrayData[35];
		intCount = Integer.parseInt(yogurtRemainingTime, 16);
		temp = ((float) intCount) / 10;
		tempStr = fnum.format(temp) + "h";
		washOrderCommand = tempStr;
		result += (countNum++) + ":" + washOrderCommand + "@";
		// UV杀菌（可视化杀菌）67
		if (36 > arrayData.length - 1) {
			return result;
		}
		String uvSterilization = arrayData[36];
		intCount = Integer.parseInt(uvSterilization, 16);
		washOrderCommand = intCount + "";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 制冰机状态68
		if (37 > arrayData.length - 1) {
			return result;
		}
		String icemakerStatus = arrayData[37];
		intCount = Integer.parseInt(icemakerStatus, 16);
		washOrderCommand = intCount + "";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 美食模式69
		if (38 > arrayData.length - 1) {
			return result;
		}
		String foodMode = arrayData[38] + arrayData[39];
		intCount = Integer.parseInt(foodMode, 16);
		washOrderCommand = intCount + "";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 冷藏室实际温度70
		if (40 > arrayData.length - 1) {
			return result;
		}
		String refrigeratorSensorTemp = arrayData[40] + arrayData[41];
		intCount = Integer.parseInt(refrigeratorSensorTemp, 16);
		float base = (float) -38.00;
		washOrderCommand = fnum.format(((float) intCount / 10) + base) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 冷藏室2实际温度71
		if (42 > arrayData.length - 1) {
			return result;
		}
		String refrigerator2SensorTemp = arrayData[42] + arrayData[43];
		intCount = Integer.parseInt(refrigerator2SensorTemp, 16);
		base = (float) -38.00;
		washOrderCommand = fnum.format(((float) intCount / 10) + base) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 冷藏化霜实际温度72
		if (44 > arrayData.length - 1) {
			return result;
		}
		String refrigeratorDefrostingSensorTemp = arrayData[44] + arrayData[45];
		intCount = Integer.parseInt(refrigeratorDefrostingSensorTemp, 16);
		base = (float) -38.00;
		washOrderCommand = fnum.format(((float) intCount / 10) + base) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 冷冻室实际温度73
		if (46> arrayData.length - 1) {
			return result;
		}
		String freezerSensorTemp = arrayData[46] + arrayData[47];
		intCount = Integer.parseInt(freezerSensorTemp, 16);
		base = (float) -38.00;
		washOrderCommand = fnum.format(((float) intCount / 10) + base) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 冷冻化霜实际温度74
		if (48 > arrayData.length - 1) {
			return result;
		}
		String freezerDefrostingSensorTemp = arrayData[48] + arrayData[49];
		intCount = Integer.parseInt(freezerDefrostingSensorTemp, 16);
		base = (float) -38.00;
		washOrderCommand = fnum.format(((float) intCount / 10) + base) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 环温实际温度75
		if (50 > arrayData.length - 1) {
			return result;
		}
		String envSensorTemp = arrayData[50] + arrayData[51];
		intCount = Integer.parseInt(envSensorTemp, 16);
		base = (float) -38.00;
		washOrderCommand = fnum.format(((float) intCount / 10) + base) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 左变温室实际温度76
		if (52 > arrayData.length - 1) {
			return result;
		}
		String leftVTRoomSensorTemp = arrayData[52] + arrayData[53];
		intCount = Integer.parseInt(leftVTRoomSensorTemp, 16);
		base = (float) -38.00;
		washOrderCommand = fnum.format(((float) intCount / 10) + base) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 右变温室实际温度77
		if (54 > arrayData.length - 1) {
			return result;
		}
		String rightVTRoomSensorTemp = arrayData[54] + arrayData[55];
		intCount = Integer.parseInt(rightVTRoomSensorTemp, 16);
		base = (float) -38.00;
		washOrderCommand = fnum.format(((float) intCount / 10) + base) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 变温室化霜实际温度78
		if (56 > arrayData.length - 1) {
			return result;
		}
		String vtRoomSensorTemp = arrayData[56] + arrayData[57];
		intCount = Integer.parseInt(vtRoomSensorTemp, 16);
		base = (float) -38.00;
		washOrderCommand = fnum.format(((float) intCount / 10) + base) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 制冰机实际温度79
		if (58 > arrayData.length - 1) {
			return result;
		}
		String icemakerSensorTemp = arrayData[58] + arrayData[59];
		intCount = Integer.parseInt(icemakerSensorTemp, 16);
		base = (float) -38.00;
		washOrderCommand = fnum.format(((float) intCount / 10) + base) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 制冰室实际温度80
		if (60 > arrayData.length - 1) {
			return result;
		}
		String iceRoomSensorTemp = arrayData[60] + arrayData[61];
		intCount = Integer.parseInt(iceRoomSensorTemp, 16);
		base = (float) -38.00;
		washOrderCommand = fnum.format(((float) intCount / 10) + base) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 冰温室实际温度81
		if (62 > arrayData.length - 1) {
			return result;
		}
		String icyRoomSensorTemp = arrayData[62] + arrayData[63];
		intCount = Integer.parseInt(icyRoomSensorTemp, 16);
		base = (float) -38.00;
		washOrderCommand = fnum.format(((float) intCount / 10) + base) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 饮品室空间实际温度82
		if (64 > arrayData.length - 1) {
			return result;
		}
		String drinkingRoomSensorTemp = arrayData[64] + arrayData[65];
		intCount = Integer.parseInt(drinkingRoomSensorTemp, 16);
		base = (float) -38.00;
		washOrderCommand = fnum.format(((float) intCount / 10) + base) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 饮品室化霜实际温度83
		if (66 > arrayData.length - 1) {
			return result;
		}
		String drinkRoomDefrostingSensorTemp = arrayData[66] + arrayData[67];
		intCount = Integer.parseInt(drinkRoomDefrostingSensorTemp, 16);
		base = (float) -38.00;
		washOrderCommand = fnum.format(((float) intCount / 10) + base) + "℃";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 环境湿度档位84
		if (68 > arrayData.length - 1) {
			return result;
		}
		String envSensorHumidityLevel = arrayData[68];
		intCount = Integer.parseInt(envSensorHumidityLevel, 16);
		washOrderCommand = intCount + "";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 光感状态85
		if (70 > arrayData.length - 1) {
			return result;
		}
		String guangganzhuangtai = arrayData[70];
		intCount = Integer.parseInt(guangganzhuangtai, 16);
		washOrderCommand = intCount + "";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 冷冻风机状态86
		if (71 > arrayData.length - 1) {
			return result;
		}
		String lengdongfengjizhuangtai = arrayData[71];
		intCount = Integer.parseInt(lengdongfengjizhuangtai, 16);
		washOrderCommand = intCount + "";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 冷却风机状态87
		if (72 > arrayData.length - 1) {
			return result;
		}
		String lengquefengjizhuangtai = arrayData[72];
		intCount = Integer.parseInt(lengquefengjizhuangtai, 16);
		washOrderCommand = intCount + "";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 冷藏风机状态88
		if (73 > arrayData.length - 1) {
			return result;
		}
		String lengcangfengjizhuangtai = arrayData[73];
		intCount = Integer.parseInt(lengcangfengjizhuangtai, 16);
		washOrderCommand = intCount + "";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 直流风机4状态89
		if (74 > arrayData.length - 1) {
			return result;
		}
		String zhiliufengji4zhuangtai = arrayData[74];
		intCount = Integer.parseInt(zhiliufengji4zhuangtai, 16);
		washOrderCommand = intCount + "";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 压机1频率90
		if (75 > arrayData.length - 1) {
			return result;
		}
		String yaji1pinlv = arrayData[75];
		intCount = Integer.parseInt(yaji1pinlv, 16);
		washOrderCommand = intCount + "Hz";
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 压机2频率91
		if (76 > arrayData.length - 1) {
			return result;
		}
		String yaji2pinlv = arrayData[76];
		intCount = Integer.parseInt(yaji2pinlv, 16);
		washOrderCommand = intCount + "Hz";
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 冷冻遮蔽装置状态92
		if (77 > arrayData.length - 1) {
			return result;
		}
		String aaaaaa = arrayData[77];
		String aaaaaabinaryString = Integer.toBinaryString(Integer.parseInt(aaaaaa, 16));
		while (aaaaaabinaryString.length() < 8) {
			aaaaaabinaryString = "0" + aaaaaabinaryString;
		}
		char lengdongzhebizhuangtai = aaaaaabinaryString.charAt(7 - 6);
		switch (lengdongzhebizhuangtai) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 冷冻风门状态93
		char lengdongfengbizhuangtai = aaaaaabinaryString.charAt(7 - 5);
		switch (lengdongfengbizhuangtai) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 冰温风门状态94
		char bingwenfengmenzhuangtai = aaaaaabinaryString.charAt(7 - 4);
		switch (bingwenfengmenzhuangtai) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 变温2风门状态95
		char bianwen2fengmenzhuangtai = aaaaaabinaryString.charAt(7 - 3);
		switch (bianwen2fengmenzhuangtai) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 变温风门状态96
		char bianwenfengmenzhuangtai = aaaaaabinaryString.charAt(7 - 2);
		switch (bianwenfengmenzhuangtai) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 冷藏2风门状态97
		char lengcang2fengmenzhuangtai = aaaaaabinaryString.charAt(7 - 1);
		switch (lengcang2fengmenzhuangtai) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 冷藏风门状态98
		char lengcangfengmenzhuangtai = aaaaaabinaryString.charAt(7 - 0);
		switch (lengcangfengmenzhuangtai) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 制冷电磁阀状态-S出口99
		if (78 > arrayData.length - 1) {
			return result;
		}
		String eee = arrayData[78];
		String eeebinaryString = Integer.toBinaryString(Integer.parseInt(eee, 16));
		while (eeebinaryString.length() < 8) {
			eeebinaryString = "0" + eeebinaryString;
		}
		char zhilengdiancifazhuangtaiSchukou = aaaaaabinaryString.charAt(7 - 2);
		switch (zhilengdiancifazhuangtaiSchukou) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 制冷电磁阀状态—F出口100
		char zhilengdiancifazhuangtaiFchukou = aaaaaabinaryString.charAt(7 - 1);
		switch (zhilengdiancifazhuangtaiFchukou) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 制冷电磁阀状态—R出口101
		char zhilengdiancifazhuangtaiRchukou = aaaaaabinaryString.charAt(7 - 0);
		switch (zhilengdiancifazhuangtaiRchukou) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		// 制冰机翻转状态102
		if (79 > arrayData.length - 1) {
			return result;
		}
		String z = arrayData[79];
		String zbinaryString = Integer.toBinaryString(Integer.parseInt(z, 16));
		while (zbinaryString.length() < 8) {
			zbinaryString = "0" + zbinaryString;
		}
		char zhibingjifanzhuanzhuangtai = zbinaryString.charAt(7 - 0);
		switch (zhibingjifanzhuanzhuangtai) {
		case '0':
			washOrderCommand = "停止";
			break;
		case '1':
			washOrderCommand = "制脱冰动作";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 冰桶加热丝状态103
		if (80 > arrayData.length - 1) {
			return result;
		}
		String hhhhh = arrayData[80];
		String hhhhhbinaryString = Integer.toBinaryString(Integer.parseInt(hhhhh, 16));
		while (hhhhhbinaryString.length() < 8) {
			hhhhhbinaryString = "0" + hhhhhbinaryString;
		}
		char bingtongjiaresizhuangtai = hhhhhbinaryString.charAt(7 - 6);
		switch (bingtongjiaresizhuangtai) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 分配器盖板加热丝状态104
		char fenpeiqigaibanjiaresizhuangtai = hhhhhbinaryString.charAt(7 - 5);
		switch (fenpeiqigaibanjiaresizhuangtai) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 制冰机底部加热丝状态105
		char zhibingjidibujiaresizhuangtai = hhhhhbinaryString.charAt(7 - 4);
		switch (zhibingjidibujiaresizhuangtai) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 制冰机水盒底部加热丝状态106
		char zhibingjishuihedibujiaresizhuangtai = hhhhhbinaryString.charAt(7 - 2);
		switch (zhibingjishuihedibujiaresizhuangtai) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 制冰机段子加热丝状态107
		char zhibingjiduanzijiaresizhuangtai = hhhhhbinaryString.charAt(7 - 1);
		switch (zhibingjiduanzijiaresizhuangtai) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 制冰机进水管加热丝状态108
		char zhibingjijinshuiguanjiaresizhuangtai = hhhhhbinaryString.charAt(7 - 0);
		switch (zhibingjijinshuiguanjiaresizhuangtai) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 变温风口加热丝状态109
		if (81 > arrayData.length - 1) {
			return result;
		}
		String hhhhhhhhhhh = arrayData[81];
		String hhhhhhhhhhhbinaryString = Integer.toBinaryString(Integer.parseInt(hhhhhhhhhhh, 16));
		while (hhhhhhhhhhhbinaryString.length() < 8) {
			hhhhhhhhhhhbinaryString = "0" + hhhhhhhhhhhbinaryString;
		}
		char bianwenfengkoujiaresizhuangtai = hhhhhhhhhhhbinaryString.charAt(7 - 6);
		switch (bianwenfengkoujiaresizhuangtai) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 变温室底部补偿加热丝状态110
		char bianwenshidibubuchangjiaresizhuangtai = hhhhhhhhhhhbinaryString.charAt(7 - 5);
		switch (bianwenshidibubuchangjiaresizhuangtai) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 立（竖）梁加热丝状态111
		char liliangajiresizhuangtai = hhhhhhhhhhhbinaryString.charAt(7 - 4);
		switch (liliangajiresizhuangtai) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 变温或制冰化霜加热丝状态112
		char bianwenhuozhibinghuashuangjiaresizhuangtai = hhhhhhhhhhhbinaryString.charAt(7 - 2);
		switch (bianwenhuozhibinghuashuangjiaresizhuangtai) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 冷藏化霜加热丝状态113
		char lengdonghuashuangjiaresizhuangtai = hhhhhhhhhhhbinaryString.charAt(7 - 1);
		switch (lengdonghuashuangjiaresizhuangtai) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";
		// 冷藏化霜加热丝状态114
		char lengcanghuashuangjiaresizhuangtai = hhhhhhhhhhhbinaryString.charAt(7 - 0);
		switch (lengcanghuashuangjiaresizhuangtai) {
		case '0':
			washOrderCommand = "关";
			break;
		case '1':
			washOrderCommand = "开";
			break;
		default:
			break;
		}
		result += (countNum++) + ":" + washOrderCommand + "@";

		

		return result;
	}

	public String getAlarm(String rawData) {
		rawData = rawData.replaceAll(" +", " ");
		String arrayData[] = rawData.split(" ");
		String message = arrayData[12] + arrayData[13] + arrayData[14] + arrayData[15] + arrayData[16] + arrayData[17]
				+ arrayData[18] + arrayData[19];
		System.out.println(message);
		String binaryStr = "";
		String alarmSignificant = "";
		for (int i = 0; i < message.length(); i++) {
			String s = Integer.toBinaryString(Integer.parseInt(String.valueOf(message.charAt(i)), 16));
			// 拼接串 拼成4位
			while (s.length() < 4) {
				s = "0" + s;
			}
			binaryStr += s;
		}
		System.out.println("输出二进制:" + binaryStr);
		List<Integer> addr = new ArrayList<Integer>();
		if (binaryStr.contains("1")) {
			for (int j = 0; j < binaryStr.length(); j++) {
				if (String.valueOf(binaryStr.charAt(j)).equals("1")) {
					addr.add(j);
				}
			}
		} else {
			addr.add(64);
		}

		/***
		 * 从第0开始的 重新定判定报警信息: bianaryStr为0 则解除报警,固定j=64为告警解除
		 * 在bianaryStr中第(63)位出现为:环境温度传感器故障 在bianaryStr中第(62)位出现为:冷藏室传感器故障
		 * 在bianaryStr中第(61)位出现为:预留 在bianaryStr中第(60)出现为:冷冻室传感器故障
		 * 在bianaryStr中第(59)出现为:变温室传感器故障 在bianaryStr中第(58)出现为:预留 在bianaryStr中第(57)出现为:预留
		 * 在bianaryStr中第(56)出现为:预留 在bianaryStr中第(55)出现为:冷冻化霜传感器故障
		 * 在bianaryStr中第(54)出现为:预留 在bianaryStr中第(53)出现为:显示板与主板通讯故障
		 * 在bianaryStr中第(52)出现为:预留 在bianaryStr中第(51)出现为:冷冻室风机故障 在bianaryStr中第(50)出现为:预留
		 * 在bianaryStr中第(49)出现为:冷冻化霜故障 在bianaryStr中第(48)出现为:湿度传感器故障
		 * 在bianaryStr中第(47)出现为:预留 在bianaryStr中第(46)出现为:预留 在bianaryStr中第(45)出现为:预留
		 * 在bianaryStr中第(44)出现为:预留 在bianaryStr中第(43)出现为:人感传感器故障
		 * 在bianaryStr中第(42)出现为:光感传感器故障 在bianaryStr中第(41)出现为:预留 在bianaryStr中第(40)出现为:预留
		 * 在bianaryStr中第(39)出现为:预留 在bianaryStr中第(38)出现为:预留 在bianaryStr中第(37)出现为:预留
		 * 在bianaryStr中第(36)出现为:预留 在bianaryStr中第(35)出现为:预留 在bianaryStr中第(34)出现为:预留
		 * 在bianaryStr中第(33)出现为:冷藏室门开关报警 在bianaryStr中第(32)出现为:预留 在bianaryStr中第(31)出现为:预留
		 * 在bianaryStr中第(30)出现为:冷冻室门开关报警 在bianaryStr中第(29)出现为:预留 在bianaryStr中第(28)出现为:预留
		 * 在bianaryStr中第(27)出现为:预留 在bianaryStr中第(26)出现为:预留 在bianaryStr中第(25)出现为:预留
		 * 在bianaryStr中第(24)出现为:预留 在bianaryStr中第(23)出现为:预留 在bianaryStr中第(22)出现为:预留
		 * 在bianaryStr中第(21)出现为:预留 在bianaryStr中第(20)出现为:预留 在bianaryStr中第(19)出现为:预留
		 * 在bianaryStr中第(18)出现为:预留 在bianaryStr中第(17)出现为:预留 在bianaryStr中第(16)出现为:预留
		 * 在bianaryStr中第(15)出现为:预留 在bianaryStr中第(14)出现为:预留 在bianaryStr中第(13)出现为:预留
		 * 在bianaryStr中第(12)出现为:预留 在bianaryStr中第(11)出现为:预留 在bianaryStr中第(10)出现为:预留
		 * 在bianaryStr中第(9)出现为:预留 在bianaryStr中第(8)出现为:变温1通讯故障（负载板1）
		 * 
		 **/

		for (int k = 0; k < addr.size(); k++) {
			switch (addr.get(k)) {
			case 64:
				alarmSignificant += "告警解除";
				alarmSignificant += "@/";
				break;
			case 63:
				alarmSignificant += "环境温度传感器故障";
				alarmSignificant += "@F2,";
				break;
			case 62:
				alarmSignificant += "冷藏室传感器故障";
				alarmSignificant += "@F3,";
				break;
			case 61:
				alarmSignificant += "冷藏化霜传感器故障";
				alarmSignificant += "@F1,";
				break;
			case 60:
				alarmSignificant += "冷冻室传感器故障";
				alarmSignificant += "@F4,";
				break;
			case 59:
				alarmSignificant += "变温室传感器故障";
				alarmSignificant += "@F5,";
				break;
			case 58:
				alarmSignificant += "变温室化霜传感器故障";
				alarmSignificant += "@F9,";
				break;
			case 57:
				alarmSignificant += "饮品室传感器故障";
				alarmSignificant += "@FA,";
				break;
			case 56:
				alarmSignificant += "饮品室蒸发传感器故障";
				alarmSignificant += "@Fb,";
				break;

			case 55:
				alarmSignificant += "冷冻化霜传感器故障";
				alarmSignificant += "@F6,";
				break;
			case 54:
				alarmSignificant += "冷藏室传感器2故障";
				alarmSignificant += "@F8,";
				break;
			case 53:
				alarmSignificant += "显示板与主板通讯故障";
				alarmSignificant += "@E0,";
				break;
			case 52:
				alarmSignificant += "制冰机传感器故障";
				alarmSignificant += "@FC,";
				break;

			case 51:
				alarmSignificant += "冷冻室风机故障";
				alarmSignificant += "@E1,";
				break;
			case 50:
				alarmSignificant += "冷却风机故障";
				alarmSignificant += "@E2,";
				break;
			case 49:
				alarmSignificant += "冷冻化霜故障";
				alarmSignificant += "@Ed,";
				break;
			case 48:
				alarmSignificant += "湿度传感器故障";
				alarmSignificant += "@Eh,";
				break;
			case 47:
				alarmSignificant += "制冰室传感器故障";
				alarmSignificant += "@Fd,";
				break;
			case 46:
				alarmSignificant += "制冰机故障";
				alarmSignificant += "@Er,";
				break;
			case 45:
				alarmSignificant += "冷藏化霜故障";
				alarmSignificant += "@EC,";
				break;
			case 44:
				alarmSignificant += "冰温室传感器故障";
				alarmSignificant += "@F7,";
				break;

			case 43:
				alarmSignificant += "人感传感器故障";
				alarmSignificant += "@FE,";
				break;
			case 42:
				alarmSignificant += "光感传感器故障";
				alarmSignificant += "@FF,";
				break;
			case 41:
				alarmSignificant += "变温传感器2故障";
				alarmSignificant += "@F0,";
				break;
			case 40:
				alarmSignificant += "冷藏室风机故障";
				alarmSignificant += "@E6,";
				break;
			case 39:
				alarmSignificant += "自动出水传感器故障";
				alarmSignificant += "@Fh,";
				break;
			case 38:
				alarmSignificant += "制冰室风机故障";
				alarmSignificant += "@E3,";
				break;
			case 37:
				alarmSignificant += "真空泵故障";
				alarmSignificant += "@E4,";
				break;
			case 36:
				alarmSignificant += "真空保鲜室故障";
				alarmSignificant += "@E5,";
				break;
			case 35:
				alarmSignificant += "瓣边错误故障";
				alarmSignificant += "@Eb,";
				break;
			case 34:
				alarmSignificant += "变温室化霜故障";
				alarmSignificant += "@EE,";
				break;

			case 33:
				alarmSignificant += "冷藏室1门开关报警";
				alarmSignificant += "@P2,";
				break;
			case 32:
				alarmSignificant += "冷藏室2门开关报警";
				alarmSignificant += "@P3,";
				break;
			case 31:
				alarmSignificant += "直流加热丝1故障";
				alarmSignificant += "@E9,";
				break;
			case 30:
				alarmSignificant += "冷冻室1门开关报警";
				alarmSignificant += "@P0,";
				break;
			case 29:
				alarmSignificant += "冷冻室2门开关报警";
				alarmSignificant += "@P1,";
				break;
			case 28:
				alarmSignificant += "制冰室门开关报警";
				alarmSignificant += "@PA,";
				break;
			case 27:
				alarmSignificant += "变温室1门开关报警";
				alarmSignificant += "@P4,";
				break;
			case 26:
				alarmSignificant += "变温室2门开关报警";
				alarmSignificant += "@P9,";
				break;
			case 25:
				alarmSignificant += "变吧台1门开关报警";
				alarmSignificant += "@P5,";
				break;
			case 24:
				alarmSignificant += "变温风机故障";
				alarmSignificant += "@E8,";
				break;
			case 23:
				alarmSignificant += "干区传感器故障";
				alarmSignificant += "@Fr,";
				break;
			case 22:
				alarmSignificant += "精控传感器1故障";
				alarmSignificant += "@U3,";
				break;
			case 21:
				alarmSignificant += "精控传感器2故障";
				alarmSignificant += "@U4,";
				break;
			case 20:
				alarmSignificant += "精控传感器3故障";
				alarmSignificant += "@U5,";
				break;
			case 15:
				alarmSignificant += "酸奶机传感器故障";
				alarmSignificant += "@/,";
				break;
			case 14:
				alarmSignificant += "酸奶机故障";
				alarmSignificant += "@/,";
				break;
			case 13:
				alarmSignificant += "功率损耗故障";
				alarmSignificant += "@/,";
				break;
			case 12:
				alarmSignificant += "Wifi通信故障";
				alarmSignificant += "@U0,";
				break;
			case 11:
				alarmSignificant += "箱内光感故障（光容积1）";
				alarmSignificant += "@FL,";
				break;
			case 10:
				alarmSignificant += "湿区传感器故障";
				alarmSignificant += "@FT,";
				break;
			case 9:
				alarmSignificant += "MSA门开关报警";
				alarmSignificant += "@Pb,";
				break;
			case 8:
				alarmSignificant += "变温1通讯故障（负载板1）";
				alarmSignificant += "@U6,";
				break;
			case 7:
				alarmSignificant += "变温2通讯故障（负载板2）";
				alarmSignificant += "@B2,";
				break;
			case 6:
				alarmSignificant += "臭氧模块故障（臭氧模块开故障）";
				alarmSignificant += "@UE,";
				break;
			case 5:
				alarmSignificant += "臭氧模块故障（臭氧模块关故障）";
				alarmSignificant += "@UF,";
				break;
			case 4:
				alarmSignificant += "制冰机板通讯故障（负载板3）";
				alarmSignificant += "@B1,";
				break;
			case 3:
				alarmSignificant += "微风道板通讯故障（负载板4）";
				alarmSignificant += "@U7,";
				break;
			case 2:
				alarmSignificant += "MSA通讯故障（负载板5）";
				alarmSignificant += "@B1,";
				break;
			case 1:
				alarmSignificant += "箱内光感故障（光容积2）";
				alarmSignificant += "@FU,";
				break;
			case 0:
				alarmSignificant += "箱内光感故障（光容积3）";
				alarmSignificant += "@FN,";
				break;

			default:
				break;
			}
		}

		return alarmSignificant;
	}

	public static void main(String[] args) {
		// String alarm1 = "FF FF 16 00 00 00 00 00 00 04 0F 5A 00 00 00 00 00 00 00 00
		// 84";
		String test_7Dorder = "FF FF 54 00 00 00 00 00 00 06 7D 01 38 32 35 00 3D 00 05 0B 21 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 33 00 00 00 00 01 93 01 73 02 62 02 1B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 78 00 00 00 71 00 05 00 00 00 00 00 00 00 00 91 ";
		System.out.println(Refrigerator.get7DData(test_7Dorder));

		// // Dryer.get7DData(test_7Dorder);
	}

}
